﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Data;
using Utility;

namespace DataAccess
{
    public class LopHocControl
    {
        // tạo đối tượng của lớp LinqUtility , đối tương này sẽ xử lý trên bảng Lớp Học
        LinqUtility<LopHoc> context = new LinqUtility<LopHoc>();

        // Tạo đối tượng database của linq
        QuanLyPhongHocDataContext db = new QuanLyPhongHocDataContext();

        // Lấy toàn bộ dữ liệu trong bảng lớp học
        public List<LopHoc> GetListLopHoc()
        {
            return context.GetAll();
        }

        // Lấy 1 dòng dữ liệu trong bảng lớp học
        public LopHoc GetLopHocById(int id)
        {
            var lh = from l in db.LopHocs
                     where l.MaLop == id
                     select l;

            return lh.Single();
        }

        // kiểm tra tên lớp đã có rồi hay chưa
        public int CheckTenLop(string tenlop)
        {
            var lh = (from l in db.LopHocs
                     where l.TenLop.Equals(tenlop)
                     select l).ToList();
            return lh.Count;
        }

        // kiểm tra tên lớp muốn xóa có liên kết trong bảng Sinh Viên ko , nếu có thì ko cho xóa
        public int CheckDeleteLopHoc(int malop)
        {
            var lh = (from l in db.SinhViens
                      where l.MaLop == malop
                      select l).ToList();
            return lh.Count;
        }

        //Tạo lớp học
        public void InsertLopHoc(LopHoc lh)
        {
            context.Insert(lh);
        }

        // update lớp học
        public void UpdateLopHoc(LopHoc lh)
        {
            context.Update(lh);
        }

        // xóa lớp học
        public void DeleteLopHoc(LopHoc lh)
        {
            context.Delete(lh);
        }

    }
}
